home *** CD-ROM | disk | FTP | other *** search
/ Inter.Net 55-1 / Inter.Net 55-1.iso / CBuilder / Setup / BCB / data.z / objsafe.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-02-09  |  8.0 KB  |  254 lines

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2.  
  3.  
  4. /* File created by MIDL compiler version 3.02.88 */
  5. /* at Thu Sep 25 09:48:11 1997
  6.  */
  7. /* Compiler settings for objsafe.idl:
  8.     Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
  9.     error checks: none
  10. */
  11. //@@MIDL_FILE_HEADING(  )
  12. #include "rpc.h"
  13. #include "rpcndr.h"
  14. #ifndef COM_NO_WINDOWS_H
  15. #include "windows.h"
  16. #include "ole2.h"
  17. #endif /*COM_NO_WINDOWS_H*/
  18.  
  19. #ifndef __objsafe_h__
  20. #define __objsafe_h__
  21. #pragma option push -b
  22.  
  23. #ifdef __cplusplus
  24. extern "C"{
  25. #endif 
  26.  
  27. /* Forward Declarations */ 
  28.  
  29. #ifndef __IObjectSafety_FWD_DEFINED__
  30. #define __IObjectSafety_FWD_DEFINED__
  31. typedef interface IObjectSafety IObjectSafety;
  32. #endif     /* __IObjectSafety_FWD_DEFINED__ */
  33.  
  34.  
  35. /* header files for imported files */
  36. #include "unknwn.h"
  37.  
  38. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  39. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  40.  
  41. /****************************************
  42.  * Generated header for interface: __MIDL_itf_objsafe_0000
  43.  * at Thu Sep 25 09:48:11 1997
  44.  * using MIDL 3.02.88
  45.  ****************************************/
  46. /* [local] */ 
  47.  
  48.  
  49. //=--------------------------------------------------------------------------=
  50. // ObjSafe.h
  51. //=--------------------------------------------------------------------------=
  52. // (C) Copyright 1995-1997 Microsoft Corporation.  All Rights Reserved.
  53. //
  54. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  55. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  56. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  57. // PARTICULAR PURPOSE.
  58. //=--------------------------------------------------------------------------=
  59.  
  60. #pragma comment(lib,"uuid.lib")
  61.  
  62. //---------------------------------------------------------------------------=
  63. // Object Safety Interfaces.
  64.  
  65. //+--------------------------------------------------------------------------=
  66. //
  67. //  Contents:   IObjectSafety definition
  68. //
  69. //
  70. //  IObjectSafety should be implemented by objects that have interfaces which
  71. //      support "untrusted" clients (for example, scripts). It allows the owner of
  72. //      the object to specify which interfaces need to be protected from untrusted
  73. //      use. Examples of interfaces that might be protected in this way are:
  74. //
  75. //      IID_IDispatch           - "Safe for automating with untrusted automation client or script"
  76. //      IID_IPersist*           - "Safe for initializing with untrusted data"
  77. //      IID_IActiveScript       - "Safe for running untrusted scripts"
  78. //
  79. //---------------------------------------------------------------------------=
  80. #ifndef _LPSAFEOBJECT_DEFINED
  81. #define _LPSAFEOBJECT_DEFINED
  82.  
  83. // Option bit definitions for IObjectSafety:
  84. #define    INTERFACESAFE_FOR_UNTRUSTED_CALLER    0x00000001    // Caller of interface may be untrusted
  85. #define    INTERFACESAFE_FOR_UNTRUSTED_DATA    0x00000002    // Data passed into interface may be untrusted
  86. #define    INTERFACE_USES_DISPEX                0x00000004    // Object knows to use IDispatchEx
  87. #define    INTERFACE_USES_SECURITY_MANAGER        0x00000008    // Object knows to use IInternetHostSecurityManager
  88.  
  89. // {CB5BDC81-93C1-11cf-8F20-00805F2CD064}
  90. DEFINE_GUID(IID_IObjectSafety, 0xcb5bdc81, 0x93c1, 0x11cf, 0x8f, 0x20, 0x0, 0x80, 0x5f, 0x2c, 0xd0, 0x64);
  91. EXTERN_C GUID CATID_SafeForScripting;
  92. EXTERN_C GUID CATID_SafeForInitializing;
  93.  
  94.  
  95.  
  96. extern RPC_IF_HANDLE __MIDL_itf_objsafe_0000_v0_0_c_ifspec;
  97. extern RPC_IF_HANDLE __MIDL_itf_objsafe_0000_v0_0_s_ifspec;
  98.  
  99. #ifndef __IObjectSafety_INTERFACE_DEFINED__
  100. #define __IObjectSafety_INTERFACE_DEFINED__
  101.  
  102. /****************************************
  103.  * Generated header for interface: IObjectSafety
  104.  * at Thu Sep 25 09:48:11 1997
  105.  * using MIDL 3.02.88
  106.  ****************************************/
  107. /* [unique][uuid][object] */ 
  108.  
  109.  
  110.  
  111. EXTERN_C const IID IID_IObjectSafety;
  112.  
  113. #if defined(__cplusplus) && !defined(CINTERFACE)
  114.     
  115.     interface DECLSPEC_UUID("CB5BDC81-93C1-11cf-8F20-00805F2CD064")
  116.     IObjectSafety : public IUnknown
  117.     {
  118.     public:
  119.         virtual HRESULT STDMETHODCALLTYPE GetInterfaceSafetyOptions( 
  120.             /* [in] */ REFIID riid,
  121.             /* [out] */ DWORD __RPC_FAR *pdwSupportedOptions,
  122.             /* [out] */ DWORD __RPC_FAR *pdwEnabledOptions) = 0;
  123.         
  124.         virtual HRESULT STDMETHODCALLTYPE SetInterfaceSafetyOptions( 
  125.             /* [in] */ REFIID riid,
  126.             /* [in] */ DWORD dwOptionSetMask,
  127.             /* [in] */ DWORD dwEnabledOptions) = 0;
  128.         
  129.     };
  130.     
  131. #else     /* C style interface */
  132.  
  133.     typedef struct IObjectSafetyVtbl
  134.     {
  135.         BEGIN_INTERFACE
  136.         
  137.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  138.             IObjectSafety __RPC_FAR * This,
  139.             /* [in] */ REFIID riid,
  140.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  141.         
  142.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  143.             IObjectSafety __RPC_FAR * This);
  144.         
  145.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  146.             IObjectSafety __RPC_FAR * This);
  147.         
  148.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInterfaceSafetyOptions )( 
  149.             IObjectSafety __RPC_FAR * This,
  150.             /* [in] */ REFIID riid,
  151.             /* [out] */ DWORD __RPC_FAR *pdwSupportedOptions,
  152.             /* [out] */ DWORD __RPC_FAR *pdwEnabledOptions);
  153.         
  154.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetInterfaceSafetyOptions )( 
  155.             IObjectSafety __RPC_FAR * This,
  156.             /* [in] */ REFIID riid,
  157.             /* [in] */ DWORD dwOptionSetMask,
  158.             /* [in] */ DWORD dwEnabledOptions);
  159.         
  160.         END_INTERFACE
  161.     } IObjectSafetyVtbl;
  162.  
  163.     interface IObjectSafety
  164.     {
  165.         CONST_VTBL struct IObjectSafetyVtbl __RPC_FAR *lpVtbl;
  166.     };
  167.  
  168.     
  169.  
  170. #ifdef COBJMACROS
  171.  
  172.  
  173. #define IObjectSafety_QueryInterface(This,riid,ppvObject)    \
  174.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  175.  
  176. #define IObjectSafety_AddRef(This)    \
  177.     (This)->lpVtbl -> AddRef(This)
  178.  
  179. #define IObjectSafety_Release(This)    \
  180.     (This)->lpVtbl -> Release(This)
  181.  
  182.  
  183. #define IObjectSafety_GetInterfaceSafetyOptions(This,riid,pdwSupportedOptions,pdwEnabledOptions)    \
  184.     (This)->lpVtbl -> GetInterfaceSafetyOptions(This,riid,pdwSupportedOptions,pdwEnabledOptions)
  185.  
  186. #define IObjectSafety_SetInterfaceSafetyOptions(This,riid,dwOptionSetMask,dwEnabledOptions)    \
  187.     (This)->lpVtbl -> SetInterfaceSafetyOptions(This,riid,dwOptionSetMask,dwEnabledOptions)
  188.  
  189. #endif /* COBJMACROS */
  190.  
  191.  
  192. #endif     /* C style interface */
  193.  
  194.  
  195.  
  196. HRESULT STDMETHODCALLTYPE IObjectSafety_GetInterfaceSafetyOptions_Proxy( 
  197.     IObjectSafety __RPC_FAR * This,
  198.     /* [in] */ REFIID riid,
  199.     /* [out] */ DWORD __RPC_FAR *pdwSupportedOptions,
  200.     /* [out] */ DWORD __RPC_FAR *pdwEnabledOptions);
  201.  
  202.  
  203. void __RPC_STUB IObjectSafety_GetInterfaceSafetyOptions_Stub(
  204.     IRpcStubBuffer *This,
  205.     IRpcChannelBuffer *_pRpcChannelBuffer,
  206.     PRPC_MESSAGE _pRpcMessage,
  207.     DWORD *_pdwStubPhase);
  208.  
  209.  
  210. HRESULT STDMETHODCALLTYPE IObjectSafety_SetInterfaceSafetyOptions_Proxy( 
  211.     IObjectSafety __RPC_FAR * This,
  212.     /* [in] */ REFIID riid,
  213.     /* [in] */ DWORD dwOptionSetMask,
  214.     /* [in] */ DWORD dwEnabledOptions);
  215.  
  216.  
  217. void __RPC_STUB IObjectSafety_SetInterfaceSafetyOptions_Stub(
  218.     IRpcStubBuffer *This,
  219.     IRpcChannelBuffer *_pRpcChannelBuffer,
  220.     PRPC_MESSAGE _pRpcMessage,
  221.     DWORD *_pdwStubPhase);
  222.  
  223.  
  224.  
  225. #endif     /* __IObjectSafety_INTERFACE_DEFINED__ */
  226.  
  227.  
  228. /****************************************
  229.  * Generated header for interface: __MIDL_itf_objsafe_0006
  230.  * at Thu Sep 25 09:48:11 1997
  231.  * using MIDL 3.02.88
  232.  ****************************************/
  233. /* [local] */ 
  234.  
  235.  
  236. typedef /* [unique] */ IObjectSafety __RPC_FAR *LPOBJECTSAFETY;
  237.  
  238. #endif
  239.  
  240.  
  241. extern RPC_IF_HANDLE __MIDL_itf_objsafe_0006_v0_0_c_ifspec;
  242. extern RPC_IF_HANDLE __MIDL_itf_objsafe_0006_v0_0_s_ifspec;
  243.  
  244. /* Additional Prototypes for ALL interfaces */
  245.  
  246. /* end of Additional Prototypes */
  247.  
  248. #ifdef __cplusplus
  249. }
  250. #endif
  251.  
  252. #pragma option pop
  253. #endif
  254.